Many Internet users have asymmetric links to the Internet (e.g., Asymmetric Digital Subscriber Line or ADSL). For example, in ADSL, a user's downloading bandwidth is typically greater than the user's uploading bandwidth. Downloading is primarily associated with receiving data packets from the Internet; uploading is primarily associated with sending data packets to the Internet, although asymmetric links may exist in other configurations.
In many data transfer protocols, a receiving node must send a form of acknowledgement packet to indicate that a data packet has been successfully received. When the transmitting node receives the acknowledgement packet from the receiving node, it can send another data packet in the transfer sequence. In contrast, if the transmitting node does not receive an acknowledgement packet from the receiving node, it may temporarily suspend its transmission activity and/or attempt to resend a previously transmitted packet after a timeout period, under the assumption that the previous transmission was not successful. Therefore, the timing and successful receipt of acknowledgement packets can significantly affect the rate at which data is transferred from a transmitting node to a receiving node.
Furthermore, if a node of a given connection is transmitting both data packets and acknowledgements (i.e., the node is processing multiple communication streams), the operation of transmitting data, particularly large data packets, from the first node can significantly delay the transmission of acknowledgement packets from that node. Accordingly, as both the data packet transmission and the acknowledgement transmission are competing for a single transmit queue, a transmit queue busy transmitting a large data packet can reduce the rate at which the node can return acknowledgements to another transmitting node, thereby reducing the rate at which the other transmitting node will send more data packets. Therefore, transmission activity of a node can significantly impact the rate at which the node will receive data packets.
The effect of a bottleneck of acknowledgement packets at a given node, which can diminish the receive rate of traffic to that node, can be amplified by an asymmetric connection (e.g., download=1024 kbps versus upload=64 kbps). For example, when a download destination node is both receiving and transmitting data packets over a typical ADSL connection, the receiving throughput experienced by the node may be limited by the node's inability to return timely acknowledgements to the download source node—the acknowledgements from the downloading destination node are competing with uploading data packets from the same node for the smaller bandwidth of the upload link (as compared to the download link). Therefore, the throughput through the larger download connection can be degraded by this bottleneck in the upload connection.